<template>
  <view class="login-container">
<!--    <template v-if="!avatarUrl"> -->
    <uni-icons type="contact-filled" size="100" color="#AFAFAF"></uni-icons>
<!--    </template>
        <image v-else :src="avatarUrl" mode="aspectFit" style="width: 75px; height: 75px;border-radius: 100%;"></image> -->
    <button type="primary" class="btn-login" @click="getUserProfile">一键登录</button>

<!--    <input class="nickname" type="nickname" placeholder="请输入昵称" @input="onInputNickname" /> -->
      <!--  <view v-if="nickname">您输入的昵称是: {{ nickname }}</view> -->
    <text class="tips-text">登录后可享更多权益</text>
  </view>
</template>
<script>
import { mapMutations,mapState } from 'vuex';

export default {
  data() {
    return {
      avatarUrl: '',
      nickname: ''
    };
  },
  computed:{
    ...mapState('m_user',['redirectInfo'])
  },
  methods: {
    ...mapMutations('m_user', ['updateUserInfo','updateToken','updateRedirectInfo']),
    onInputNickname(event) {
      this.nickname = event.target.value;
      console.log('输入的昵称:', this.nickname);
    },
    onChooseAvatar(event) {
      this.avatarUrl = event.detail.avatarUrl;
      console.log('选择的头像临时路径:', this.avatarUrl);
    },
 getUserProfile() {
   uni.getUserProfile({
     desc: '用于完善会员资料',
     success: (res) => {
       console.log('用户信息:', res.userInfo);
       this.updateUserInfo(res.userInfo);
       // 传入完整的 res 对象
       this.getToken(res);
     },
     fail: (err) => {
       console.error('获取用户信息失败:', err);
     }
   });
 },
async getToken(info) {
  try {
    // const res = await new Promise((resolve, reject) => {
    //   uni.login({
    //     success: (loginRes) => {
    //       resolve(loginRes);
    //     },
    //     fail: (err) => {
    //       reject(err);
    //     }
    //   });
    // });
    // if (res.errMsg!== 'login:ok') {
    //   uni.showToast({
    //     title: '登录失败',
    //     icon: 'none'
    //   });
    //   return;
    // }
    // const query = {
    //   code: res.code,
    //   encryptedData: info.encryptedData,
    //   iv: info.iv,
    //   rawData: info.rawData,
    //   signature: info.signature
    // };
    // const { data: loginResult } = await uni.$http.post('/api/public/v1/users/wxlogin', query);


    // // 检查返回数据是否符合预期
    // if (!loginResult ||!loginResult.message ||!loginResult.message.token) {
    //   console.error('登录失败，返回数据格式不正确:', loginResult);
    //   uni.showToast({
    //     title: '登录失败',
    //     icon: 'none'
    //   });
    //   return;
    // }

    // // 将 token 保存到 vuex 中
    // this.updateToken(loginResult.message.token);
     // 这里模拟登录成功，直接使用一个假的 token
            const fakeToken = 'your_fake_token_here'
            // 将假 token 保存到 vuex 中
            this.updateToken(fakeToken)
            this.navigateBack()
  } catch (err) {
    console.error('登录失败:', err);
    uni.showToast({
      title: '登录失败',
      icon: 'none'
    });
  }
},
  navigateBack(){
    if(this.redirectInfo && this.redirectInfo.openType==='switchTab'){
      uni.switchTab({
        url:this.redirectInfo.from,
        complete:()=>{
          this.updateRedirectInfo(null)
        }
      })
    }
  }
  }
};
</script>
<style lang="scss">
  .login-container{
    height:750rpx;
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
    &::after{
      content: ' ';
      display: block;
      width:100%;
      height:40px;
      background-color: #F8F8F8;
      position: absolute;
      bottom:0;
      left:0;
      border-radius: 100%;
      transform: translateY(50%);
    }
    .btn-login{
      width:90%;
      border-radius: 100px;
      margin: 15px 0;
      background-color: #C00000;
    }
    .tips-text{
      font-size: 12px;
      color:gray;
    }
    .nickname{
      align-items: center;
      justify-content: center;
      display: flex;
      border-bottom: 1px solid #ecf3f8;
      text-align: center;
    }
  }
</style>
